<!DOCTYPE html>
<html>

<head>
    <meta charset="utf-8">
    <title>Swipe between maps</title>
    <meta name="viewport" content="initial-scale=1,maximum-scale=1,user-scalable=no">
    <link href="https://api.mapbox.com/mapbox-gl-js/v2.13.0/mapbox-gl.css" rel="stylesheet">
    <script src="https://api.mapbox.com/mapbox-gl-js/v2.13.0/mapbox-gl.js"></script>
    <style>
        body {
            margin: 0;
            padding: 0;
        }

        #map {
            position: absolute;
            top: 0;
            bottom: 0;
            width: 100%;
        }
    </style>
</head>

<body>
    <style>
        body {
            overflow: hidden;
        }

        body * {
            -webkit-touch-callout: none;
            -webkit-user-select: none;
            -moz-user-select: none;
            -ms-user-select: none;
            user-select: none;
        }

        .map {
            position: absolute;
            top: 0;
            bottom: 0;
            width: 100%;
        }
    </style>
    <script src="https://api.mapbox.com/mapbox-gl-js/plugins/mapbox-gl-compare/v0.4.0/mapbox-gl-compare.js"></script>
    <link rel="stylesheet"
        href="https://api.mapbox.com/mapbox-gl-js/plugins/mapbox-gl-compare/v0.4.0/mapbox-gl-compare.css"
        type="text/css">
    <div id="comparison-container">
        <div id="before" class="map"></div>
        <div id="after" class="map"></div>
    </div>
    <script>
        mapboxgl.accessToken = 'pk.eyJ1IjoiY2hlbmdjaGFvY2hhbyIsImEiOiJjbGU1aDZ2eWUwMXp4M29udmFnNnNyZjBhIn0.2Kd0ZX06ReEdBnZ9XU4XUA';
        const beforeMap = new mapboxgl.Map({
            container: 'before',
            // Choose from Mapbox's core styles, or make your own style with Mapbox Studio
            style: 'mapbox://styles/mapbox/light-v11',
            center: [0, 0],
            zoom: 0
        });

        const afterMap = new mapboxgl.Map({
            container: 'after',
            style: 'mapbox://styles/mapbox/dark-v11',
            center: [0, 0],
            zoom: 0
        });

        // A selector or reference to HTML element
        const container = '#comparison-container';

        const map = new mapboxgl.Compare(beforeMap, afterMap, container, {
            // Set this to enable comparing two maps by mouse movement:
            // mousemove: true
        });
    </script>

</body>

</html>